﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Box.BL;
using Box.Entities;
using Microsoft.Practices.Unity;

namespace WEB
{
    public partial class frmCategoria : System.Web.UI.Page
    {
        [Dependency]
        public ICategoriaBL categoriaBl { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                var acc = Request.QueryString["acc"];
                var id = Request.QueryString["identificador"];

                if (acc== null)
                {
                    
                }
                else
                {
                    if (acc!=null && id!=null && acc=="update")
                    {
                        var identificador = Int32.Parse(id);
                        var categoria = categoriaBl.GetFromCategoriasById(identificador);
                        txtNombre.Text = categoria.NombreCategoria;
                        txtDescripcion.Text = categoria.DescripcionCategoria;
                    }else if (acc != null && id!=null && acc=="delete")
                    {
                        var identificador = Int32.Parse(id.ToString());
                        DeleteCategoria(identificador);
                    }
                }
            }
        }

        public void DeleteCategoria(Int32 id)
        {
            categoriaBl.RemoveCategoria(id);
            Response.Redirect("frmListCategoria.aspx");
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            var categoria = new Categoria()
            {
                NombreCategoria = txtNombre.Text,
                DescripcionCategoria = txtDescripcion.Text
            };
            if (hfCategoria.Value == "new")
            {                                    
                categoriaBl.AddCategoria(categoria);
                Response.Redirect("frmListCategoria.aspx");
            }else if (hfCategoria.Value=="update")
            {
                categoria.Id = Int32.Parse(txtCodigo.Text);
                categoriaBl.UpdateCategoria(categoria);
                Response.Redirect("frmListCategoria.aspx");
            }
        }
    }
}